<head>
<title>Manual Page</title>
</head>
<body>
<pre>
<a href="enhance.html"><b>enhance</b></a>                                  <a href="enhance.html"><b>enhance</b></a>



</pre><h2>NAME</h2><pre>
       enhance  - A program that adds command-line editing to third party pro-
       grams.

</pre><h2>SYNOPSIS</h2><pre>
       enhance command [ argument ... ]


</pre><h2>DESCRIPTION</h2><pre>
       The enhance program provides enhanced command-line  editing  facilities
       to  users  of  third  party applications, to which one doesn't have any
       source code. It does this by  placing  a  pseudo-terminal  between  the
       application and the real terminal. It uses the tecla command-line edit-
       ing library to read input from the real terminal,  then  forwards  each
       just  completed  input line to the application via the pseudo-terminal.
       All output from the application is forwarded back unchanged to the real
       terminal.

       Whenever  the application stops generating output for more than a tenth
       of a second, the enhance program treats the  latest  incomplete  output
       line  as the prompt, and redisplays any incompleted input line that the
       user has typed after it. Note that the small delay, which is  impercep-
       tible  to  the  user, isn't necessary for correct operation of the pro-
       gram. It is just an optimization, designed to stop the input line  from
       being redisplayed so often that it slows down output.

       Note  that  the  user-level command-line editing facilities provided by
       the Tecla library are documented in the <a href="tecla.html"><b>tecla</b></a> man page


</pre><h2>DEFICIENCIES</h2><pre>
       The one major problem that hasn't been solved yet, is how to deal  with
       applications  that  change  whether typed input is echo'd by their con-
       trolling terminal. For example, programs that ask for a password,  such
       as  ftp  and telnet, temporarily tell their controlling terminal not to
       echo what the user types. Since this request goes  to  the  application
       side  of the psuedo terminal, the enhance program has no way of knowing
       that this has happened, and continues to echo typed input to  its  con-
       trolling terminal, while the user types their password.

       Furthermore, before executing the host application, the enhance program
       initially sets the pseudo terminal to noecho mode, so  that  everything
       that  it sends to the program doesn't get redundantly echoed. If a pro-
       gram that switches to noecho mode explicitly  restores  echoing  after-
       wards, rather than restoring the terminal modes that were previously in
       force, then subsequently, every time that you enter a new input line, a
       duplicate copy will be displayed on the next line.


</pre><h2>FILES</h2><pre>
       libtecla.a    -   The tecla library.
       ~/.teclarc    -   The tecla personal customization file.


</pre><h2>SEE ALSO</h2><pre>
       <a href="tecla.html"><b>tecla</b></a>, <a href="libtecla.html"><b>libtecla</b></a>


</pre><h2>AUTHOR</h2><pre>
       Martin Shepherd  (mcs@astro.caltech.edu)



                                                        <a href="enhance.html"><b>enhance</b></a>
</pre>
</body>
